package com.itlong.cloud.equip.sdk;

import com.itlong.cloud.POJO.DTO.sdk.CloudElevatorSDKServerElevatorKeyDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      云电梯SDK接口暴露。
 * <desc/>
 *
 * @createDate 2018-12-28.
 */
@FeignClient(name = "equip-service")
public interface ICloudElevatorSDKRobotClient {

     /**
      * <desc>
      *      查询云电梯唯一标识。
      * <desc/>
      *
      * @param  pageDTO 入参
      * @return
      * @author Qiang.S
      * @createDate 2018-12-28
      */
     @RequestMapping(path = "/cloud/elevator/robotToItlong/getElevatorKey",method = RequestMethod.POST)
     List<String> getElevatorKey(@RequestBody CloudElevatorSDKServerElevatorKeyDTO pageDTO) throws Exception;

     /**
      * <desc>
      *      查询当前机器人行程是否完成。
      * <desc/>
      *
      * @param  robotId 机器人编号
      * @param  deviceUnique 设备编号
      * @return
      * @author Qiang.S
      * @createDate 2020-03-27
      */
     @RequestMapping(path = "/cloud/elevator/robotToItlong/checkSuccessState",method = RequestMethod.POST)
     Integer checkSuccessState(@RequestParam("robotId") String robotId, @RequestParam("deviceUnique") String deviceUnique) throws Exception;

     /**
      * <desc>
      *        查询机器人的单梯多梯权限
      * </desc>
      *
      * @param robotId 机器人id
      * @return 单体多梯标记map
      * @Author Zhu.yj
      * @createDate  2020/9/7
      */
     @RequestMapping(value = "/cloud/elevator/robotToItlong/getElevatorFlag", method = RequestMethod.POST)
     Map<String, Object> getElevatorFlag(@RequestParam("robotId") String robotId) throws Exception;
}
